package com.kimu.product_comment_service_interface.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.kimu.product_comment_service_interface.entity.ProductComment;

/*
 * 考虑到新增商品评论必须要先购买商品这个逻辑，此服务需要订单服务依赖，而订单服务依赖又需要商品依赖，所以必须把商品评论服务和商品服务分开
 */
public interface ProductCommentService {

    /*
     * 新增一个商品评论，必须要有用户才能完成，必须要购买商品以后才能完成
     * 前端判断用户是否已登录，后端验证用户token是否正确，在订单服务中查找用户是否已经购买商品
     */
    int createProductComment(ProductComment ProductComment);

    /*
     * 查询一个商品评论
     */
    ProductComment getProductCommentById(Long id);

    /*
     * 修改一个商品评论
     */
    int updateProductComment(ProductComment productComment);

    /*
     * 删除一个商品评论，使用逻辑删除
     */
    int deleteProductCommentById(Long id);

    /*
     * 查询一些商品评论，一般是分页查询，默认从最近的查起
     */
    IPage<ProductComment> getProductComments(Page<ProductComment> page);
}
